package oracle;

import java.sql.*;

/*
* 实现：利用Java 链接Oracle 数据库 CRUD[查]
* 1.加载驱动oracle.jdbc.OracleDriver Oracle10
*          com.mysql.jdbc.Driver    Mysql5.5
* 2.获取链接
* ①获取Oracle基本信息：地址、用户名、密码
* ②获取信息交给工具类DriverManager处理，连接成功返回Connection
* ③打桩测试，是否连接成功
* -------------------------------JDBC连接成功Oracle
* -------------------------------JDBC规范-----CRUD“增删改”“查”
* ④执行SQL---创建表---oracle中创建  login表   序号、姓名、手机号
* java提到对象 Statement对象，作用：执行SQL语句的类，提供执行SQL方法
* 5.处理结果【取所有记录数】
* */
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
//        1.加载驱动--Oracle版本  10g
        Class.forName("oracle.jdbc.OracleDriver");
//        2.获取链接【准备功能：地址、用户名、密码】
//        ①链接Oracle基本信息
        String username="system";  //Oracle 数据库 用户名
        String password="051019zyf";  //密码：自己的，连接本地
        String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
                //②Oracle基本信息交给工具类
                Connection con= DriverManager.getConnection(url,username,password);
//    ③打桩：数据是否连接成功
        System.out.println("测试数据库连接成功："+con);
//        4.执行SQL---Statement对象
//        连接成功Oracle之后【Connection】，产生Statement对象
        Statement st=con.createStatement();
//        执行SQL查询操作--查询语句
        String sql="select * from login";
//        Statement对象 查询和增删改---查询方法：executeQuery
//        ResultSet对象--保存所有查询的记录数据【字段和记录】
        ResultSet rs=st.executeQuery(sql);
//        5.处理结果【取所有记录数  1.判断有没有字段  2.去字段中记录数】
        while(rs.next()){//next()判断表中是否有字段 ，有字段返回true，无字段返回false
//            取出字段中所有记录数
           int id= rs.getInt("id");
           String name= rs.getString("name");
            String phone=rs.getString("phone");
            System.out.println("login表的所有数据："+id+name+phone);
//6.关闭资源
        }
        rs.close();
        st.close();
        con.close();
//        练习：JDBC链接Oracle--login--增加一条记录

    }

}
